# name = '马冬梅'
# age = 18
# score = 98.5
#
# # 1、使用占位符
# print('姓名：%s, 年龄：%d, 成绩：%.1f' % (name, age, score))
#
# # 2、使用f-string
# print(f'姓名：{name}, 年龄：{age}, 成绩：{score}')
#
# # 使用字符串的format方法
# print('姓名：{0}, 年龄：{1}, 成绩：{2}'.format(name, age, score))
# # 上述的0、1、2指的是format方法中的参数的索引位置，可以写成下面这样
# print('姓名：{2}, 年龄：{1}, 成绩：{0}'.format(score, age, name))
#
# # 上面是三种方式中，只有第一种占位符的方式，是需要自己手动地去指定打印的位数
from encodings.cp862 import decoding_map

# s = 'Hello Python'
# # 直接使用0去代指format中的参数
# print('{0}'.format(s))
# # : 是引导符，表明后面开始的操作是对参数的格式化
# # * 是填充符，表明当长度不足时，使用 * 来填充
# # < 是向左对齐、20 是字符串的总长度，不足时使用填充符来填充
# print('{0:*<20}'.format(s))
# # ^ 居中对齐、- 使用"-"填充空闲的位置
# print('{0:-^20}'.format(s))
# # 超出长度，就啥也不做
# print('{0:*^5}'.format(s))
# # 默认使用 空白字符 填充
# print('{0:^20}'.format(s))


# # 千位分隔符：只适用于整数与浮点数
# print('{0:,}'.format(1234567890))
# print('{0:,}'.format(1234567890.987654321))
#
# # .精度 ——> 参数为字符窜时，是显示最大的长度，参数为浮点数时，是显示小数的最大长度
# # 针对字符串时，不需要加f，而针对浮点数时，需要加上f
# print('{0:.2f}'.format(3.1415926535))
# print('{0:.5}'.format('Hello Python'))
#
# # 类型
# a = 8
# print('二进制：{0:b}'.format(a))
# print('八进制：{0:o}'.format(a))
# print('十进制：{0:d}'.format(a))
# print('十六进制：{0:x}'.format(a))
# print('十六进制：{0:X}'.format(a))


# # 编码过程
# s = 'Hello Python'
# print('原始的数据：%s' % s)
# s_encode = s.encode() # 都采用默认的方式
# print('编码之后的数据类型：',type(s_encode))
# print('编码之后的结果：',s_encode)
#
# # 解码过程
# s_decode = s_encode.decode() # 也是采用默认的方式
# print('解码之后的结果：%s' % s_decode)


# # 编码过程
# s = '232342315'
# print('原始的数据：%s' % s)
# s_encode = s.encode() # 都采用默认的方式
# print('编码之后的数据类型：',type(s_encode))
# print('编码之后的结果：',s_encode)
#
# # 解码过程
# s_decode = s_encode.decode() # 也是采用默认的方式
# print('解码之后的结果：%s' % s_decode)


# # 编码过程
# s = '伟大的中国梦'
# print('原始的数据：%s' % s)
# s_encode = s.encode() # 都采用默认的方式
# print('编码之后的数据类型：',type(s_encode))
# print('编码之后的结果：',s_encode)
#
# # 解码过程
# s_decode = s_encode.decode() # 也是采用默认的方式
# print('解码之后的结果：%s' % s_decode)


# # 编码过程
# s = '伟大的中国梦'
# print('原始的数据：%s' % s)
# s_encode = s.encode() # 都采用默认的方式
# print('编码之后的数据类型：',type(s_encode))
# print('编码之后的结果：',s_encode)
#
# # 解码过程
# s_decode = s_encode.decode(encoding = 'ascii') # 采用ascii码值的方式去解码
# print('解码之后的结果：%s' % s_decode)


# # 编码过程
# s = '伟大的中国梦'
# print('原始的数据：%s' % s)
# s_encode = s.encode() # 都采用默认的方式
# print('编码之后的数据类型：',type(s_encode))
# print('编码之后的结果：',s_encode)
#
# # 解码过程
# # 采用ascii码值的方式去解码，并且对解码错误的处理方式采用忽略。
# # 因为全部的编码都会解码失败，因此最终的解码结果就是啥也没有
# s_decode = s_encode.decode(encoding = 'ascii',errors='ignore')
# print('解码之后的结果：%s' % s_decode)


# 编码过程
s = '伟大的中国梦'
print('原始的数据：%s' % s)
s_encode = s.encode() # 都采用默认的方式
print('编码之后的数据类型：',type(s_encode))
print('编码之后的结果：',s_encode)

# 解码过程
# 采用ascii码值的方式去解码，并且对解码错误的处理方式采用忽略。
# 因为全部的编码都会解码失败，因此最终的解码结果就是啥也没有
s_decode = s_encode.decode(encoding = 'ascii',errors='replace')
print('解码之后的结果：%s' % s_decode)